草庐IT

java - 匿名类变量

全部标签

javascript - Function.prototype.call 分配给变量时的意外行为

以下代码调用console.log打印“hello”:console.log.call(console,"hello")但是,下面的代码会抛出TypeError:x=console.log.callx(console,"hello")抛出:UncaughtTypeError:xisnotafunctionat:1:1谁能解释一下这个奇怪的场景?(当然call和apply都是一样的) 最佳答案 .call从其this参数获取要调用的函数。你通过x调用它,没有this参数,所以它没有函数可以调用(或者更确切地说,它试图调用window)

javascript - 将 LESS 变量传递给 JavaScript

我有一个包含一些变量的LESS文件:@font-size:100%;@label-align:left;@field-width:230px;@icon-size:16px;@icon-padding:8px;在我的JS脚本中,我需要知道用户在LESS文件中设置的一些初始值的总和。计算出的css值可能会根据父容器的大小而变化。这些值也会在第一次加载时发生变化,具体取决于窗口大小。一些元素也是动态创建的,因此很难在JS中获取正确的初始值,因为我必须在代码的不同点和不同的范围内声明变量。我的一个想法是用一些虚拟变量声明一个“高范围”对象,并在我将元素附加到DOM后立即将值赋给该变量,但事实

javascript - 无法正确访问 NODE_ENV 环境变量,这是 node.js 的错误吗?

我正在访问NODE_ENV环境变量以打开node.js服务器中的一些调试功能。它曾经像魅力一样工作,但现在我面临着一些非常奇怪的事情。这是我正在做的://checkiftheenvvarisOKconsole.log(process.env.NODE_ENV);//WTF???if(process.env.NODE_ENV=="development"){console.log("ok");}else{console.log("nope");}//sanitycheckvarstr="development";if(str=="development"){console.log("ok

javascript - 如何访问子窗口(弹出窗口)内的父窗口javascript变量?

这个问题不太可能帮助任何future的访问者;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况有关,这些情况并不普遍适用于互联网的全局受众。为了帮助使这个问题更广泛地适用,visitthehelpcenter.关闭9年前。我有一个html页面,其中包含名为custName="scott"的全局javascript变量。我使用window.open打开弹出窗口。现在,如果我使用window.opener.custName访问弹出窗口中的custName,我得到的值为undefined。如何访问子窗口(弹出窗口)内的父窗口javascript变量?

javascript - 如何检查是否在 chrome 存储上设置了变量

我有一个使用LocalStorage的小片段,但我还不能让它在Chrome存储方案上工作。当我的应用程序启动时,我检查localStorage中的一个变量varbookNarration=parseInt(localStorage.getItem("narration"));如果该变量未定义,这意味着我的应用程序是第一次打开,并且我在使用“默认”声明的开关中处理bookLanguage之后。switch(window.bookNarration){case2:window.narrationShift=window.spanishShift;break;case3:window.nar

JavaScript 匿名函数表达式 vs IIFE

遇到一些在表达式中使用IIFE而不仅仅是普通函数的代码。varcustom_type=(function(){return$('#myDiv').attr('custom_type');})();通常我会这样写:varcustom_type=function(){return$('#myDiv').attr('custom_type');};IIFE的原因是什么?我唯一能想到的是,IIFE可能只在开始时分配一次custom_type变量,而第二次可能会在每次引用变量时继续检查更新的类型。 最佳答案 在这个例子中,你可以完全放弃这个函

javascript - 检查变量是否未定义的最佳实践

我在我的条件中遇到了一些关于undefinedvariable的问题。总结一下,检查变量是否未定义的最佳方法是什么?我主要是在挣扎x===undefined和typeofx==='undefined' 最佳答案 您可以使用这两种方法来检查值是否为undefined。但是,您需要注意一些细微差别。第一种方法使用严格比较===运算符来与undefinedtype进行比较:varx;//...x===undefined;//true如果变量已声明但未定义,即具有undefined值,这意味着您有varx,这将仅按预期工作在你的代码中的某个

javascript - 如何检查变量是否是生成器函数? (例如函数*产量)

这个问题在这里已经有了答案:checkiffunctionisagenerator(13个答案)关闭7年前。检查函数是否为生成器的可靠方法是什么,例如:letfn=function*(){yield100;}if(fninstanceof??){for(letvalueinfn()){...}}我能想到的唯一方法是fn.toString().startsWith('function*')但这非常hacky和不可靠上下文:nodejs4+

Javascript变量捕获

我在JS中使用eval时遇到了奇怪的行为。varf=function(){varx=10;returnfunction(){eval('console.log(x);');window['eval']('console.log(x);');}};f()();输出:10undefined:1console.log(x);^ReferenceError:xisnotdefined为什么使用eval显式捕获x而global['eval']却没有?即使global['eval']没有捕获x,为什么在已经捕获的eval之后无法看到x? 最佳答案

javascript - Java 7 + Rhino 1.7R3 支持 CommonJS 模块?

我需要帮助让CommonJS在Java7和Rhino1.7R3上运行。Rhino1.7R3支持CommonJS模块:https://developer.mozilla.org/En/New_in_Rhino_1.7R3Java7与Rhino1.7R3捆绑在一起。不幸的是,Java7的Rhino是修改版,它不包含org.mozilla.javascript.commonjs包:http://jdk7.java.net/rhino/README.TXT我想通过javax.scriptAPI使用Rhino1.7R3对CommonJS的支持,如下所示:ScriptEngineManagermg